package com.ls.fw.frame.data.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ls.fw.data.annotation.FwColumn;
import com.ls.fw.data.annotation.FwTable;
import com.ls.fw.data.bean.BaseDataEntity;
import com.ls.fw.data.converter.CustomDateSerializer;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import org.springframework.format.annotation.DateTimeFormat;

@Table(name = "data_view01_data_table_info")
@FwTable(name = "data_view01_data_table_info",remark = "")
public class DataTableInfoViewVo extends BaseDataEntity implements Serializable {
    /**
     * ID
     */
    @FwColumn(name = "id",remark = "ID")
    @GeneratedValue(generator = "JDBC")
    private Long id;

    /**
     * 名称
     */
    @FwColumn(name = "name",remark = "名称")
    private String name;

    /**
     * 曾用名
     */
    @Column(name = "old_name")
    @FwColumn(name = "old_name",remark = "曾用名")
    private String oldName;

    /**
     * 编号
     */
    @FwColumn(name = "num",remark = "编号")
    private String num;

    @Column(name = "mod_dt")
    @FwColumn(name = "mod_dt",remark = "修改时间")
    private Date modDtSt;

    @Column(name = "mod_dt")
    @FwColumn(name = "mod_dt",remark = "修改时间")
    private Date modDtEd;

    @Column(name = "create_dt")
    @FwColumn(name = "create_dt",remark = "创建时间")
    private Date createDtSt;

    @Column(name = "create_dt")
    @FwColumn(name = "create_dt",remark = "创建时间")
    private Date createDtEd;

    @Column(name = "update_ts")
    @FwColumn(name = "update_ts",remark = "")
    private Date updateTsSt;

    @Column(name = "update_ts")
    @FwColumn(name = "update_ts",remark = "")
    private Date updateTsEd;

    @Column(name = "insert_ts")
    @FwColumn(name = "insert_ts",remark = "时间戳")
    private Date insertTsSt;

    @Column(name = "insert_ts")
    @FwColumn(name = "insert_ts",remark = "时间戳")
    private Date insertTsEd;

    /**
     * 是否为最新的字段信息
     */
    @Column(name = "new_field_info")
    @FwColumn(name = "new_field_info",remark = "是否为最新的字段信息")
    private Boolean newFieldInfo;

    /**
     * 数据库ID
     */
    @Column(name = "data_schema_id")
    @FwColumn(name = "data_schema_id",remark = "数据库ID")
    private Long dataSchemaId;

    /**
     * 名称
     */
    @Column(name = "data_schema_name")
    @FwColumn(name = "data_schema_name",remark = "名称")
    private String dataSchemaName;

    /**
     * 编号
     */
    @Column(name = "data_schema_num")
    @FwColumn(name = "data_schema_num",remark = "编号")
    private String dataSchemaNum;

    /**
     * 删除区分
     */
    @Column(name = "data_schema_delete_class")
    @FwColumn(name = "data_schema_delete_class",remark = "删除区分")
    private Boolean dataSchemaDeleteClass;

    /**
     * 有效区分
     */
    @Column(name = "data_schema_valid_class")
    @FwColumn(name = "data_schema_valid_class",remark = "有效区分")
    private Boolean dataSchemaValidClass;

    /**
     * 名称
     */
    @Column(name = "data_type_name")
    @FwColumn(name = "data_type_name",remark = "名称")
    private String dataTypeName;

    /**
     * 编号
     */
    @Column(name = "data_type_num")
    @FwColumn(name = "data_type_num",remark = "编号")
    private String dataTypeNum;

    /**
     * 删除区分
     */
    @Column(name = "data_type_delete_class")
    @FwColumn(name = "data_type_delete_class",remark = "删除区分")
    private Boolean dataTypeDeleteClass;

    /**
     * 有效区分
     */
    @Column(name = "data_type_valid_class")
    @FwColumn(name = "data_type_valid_class",remark = "有效区分")
    private Boolean dataTypeValidClass;

    /**
     * 备注
     */
    @Column(name = "data_schema_remark")
    @FwColumn(name = "data_schema_remark",remark = "备注")
    private String dataSchemaRemark;

    /**
     * 备注
     */
    @Column(name = "data_type_remark")
    @FwColumn(name = "data_type_remark",remark = "备注")
    private String dataTypeRemark;

    /**
     * 字段信息
     */
    @Column(name = "field_info")
    @FwColumn(name = "field_info",remark = "字段信息")
    private String fieldInfo;

    private static final long serialVersionUID = 1L;

    /**
     * 获取ID
     *
     * @return id - ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置ID
     *
     * @param id ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取名称
     *
     * @return name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取曾用名
     *
     * @return old_name - 曾用名
     */
    public String getOldName() {
        return oldName;
    }

    /**
     * 设置曾用名
     *
     * @param oldName 曾用名
     */
    public void setOldName(String oldName) {
        this.oldName = oldName == null ? null : oldName.trim();
    }

    /**
     * 获取编号
     *
     * @return num - 编号
     */
    public String getNum() {
        return num;
    }

    /**
     * 设置编号
     *
     * @param num 编号
     */
    public void setNum(String num) {
        this.num = num == null ? null : num.trim();
    }

    /**
     * 获取修改时间
     *
     * @return mod_dt - 修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getModDtSt() {
        return modDtSt;
    }

    /**
     * 设置修改时间
     *
     * @param modDtSt 修改时间
     */
    public void setModDtSt(Date modDtSt) {
        this.modDtSt = modDtSt;
    }

    /**
     * 获取修改时间
     *
     * @return mod_dt - 修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getModDtEd() {
        return modDtEd;
    }

    /**
     * 设置修改时间
     *
     * @param modDtEd 修改时间
     */
    public void setModDtEd(Date modDtEd) {
        this.modDtEd = modDtEd;
    }

    /**
     * 获取创建时间
     *
     * @return create_dt - 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getCreateDtSt() {
        return createDtSt;
    }

    /**
     * 设置创建时间
     *
     * @param createDtSt 创建时间
     */
    public void setCreateDtSt(Date createDtSt) {
        this.createDtSt = createDtSt;
    }

    /**
     * 获取创建时间
     *
     * @return create_dt - 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getCreateDtEd() {
        return createDtEd;
    }

    /**
     * 设置创建时间
     *
     * @param createDtEd 创建时间
     */
    public void setCreateDtEd(Date createDtEd) {
        this.createDtEd = createDtEd;
    }

    /**
     * @return update_ts
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getUpdateTsSt() {
        return updateTsSt;
    }

    /**
     * @param updateTsSt
     */
    public void setUpdateTsSt(Date updateTsSt) {
        this.updateTsSt = updateTsSt;
    }

    /**
     * @return update_ts
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getUpdateTsEd() {
        return updateTsEd;
    }

    /**
     * @param updateTsEd
     */
    public void setUpdateTsEd(Date updateTsEd) {
        this.updateTsEd = updateTsEd;
    }

    /**
     * 获取时间戳
     *
     * @return insert_ts - 时间戳
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getInsertTsSt() {
        return insertTsSt;
    }

    /**
     * 设置时间戳
     *
     * @param insertTsSt 时间戳
     */
    public void setInsertTsSt(Date insertTsSt) {
        this.insertTsSt = insertTsSt;
    }

    /**
     * 获取时间戳
     *
     * @return insert_ts - 时间戳
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonSerialize(using=CustomDateSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    public Date getInsertTsEd() {
        return insertTsEd;
    }

    /**
     * 设置时间戳
     *
     * @param insertTsEd 时间戳
     */
    public void setInsertTsEd(Date insertTsEd) {
        this.insertTsEd = insertTsEd;
    }

    /**
     * 获取是否为最新的字段信息
     *
     * @return new_field_info - 是否为最新的字段信息
     */
    public Boolean getNewFieldInfo() {
        return newFieldInfo;
    }

    /**
     * 设置是否为最新的字段信息
     *
     * @param newFieldInfo 是否为最新的字段信息
     */
    public void setNewFieldInfo(Boolean newFieldInfo) {
        this.newFieldInfo = newFieldInfo;
    }

    /**
     * 获取数据库ID
     *
     * @return data_schema_id - 数据库ID
     */
    public Long getDataSchemaId() {
        return dataSchemaId;
    }

    /**
     * 设置数据库ID
     *
     * @param dataSchemaId 数据库ID
     */
    public void setDataSchemaId(Long dataSchemaId) {
        this.dataSchemaId = dataSchemaId;
    }

    /**
     * 获取名称
     *
     * @return data_schema_name - 名称
     */
    public String getDataSchemaName() {
        return dataSchemaName;
    }

    /**
     * 设置名称
     *
     * @param dataSchemaName 名称
     */
    public void setDataSchemaName(String dataSchemaName) {
        this.dataSchemaName = dataSchemaName == null ? null : dataSchemaName.trim();
    }

    /**
     * 获取编号
     *
     * @return data_schema_num - 编号
     */
    public String getDataSchemaNum() {
        return dataSchemaNum;
    }

    /**
     * 设置编号
     *
     * @param dataSchemaNum 编号
     */
    public void setDataSchemaNum(String dataSchemaNum) {
        this.dataSchemaNum = dataSchemaNum == null ? null : dataSchemaNum.trim();
    }

    /**
     * 获取删除区分
     *
     * @return data_schema_delete_class - 删除区分
     */
    public Boolean getDataSchemaDeleteClass() {
        return dataSchemaDeleteClass;
    }

    /**
     * 设置删除区分
     *
     * @param dataSchemaDeleteClass 删除区分
     */
    public void setDataSchemaDeleteClass(Boolean dataSchemaDeleteClass) {
        this.dataSchemaDeleteClass = dataSchemaDeleteClass;
    }

    /**
     * 获取有效区分
     *
     * @return data_schema_valid_class - 有效区分
     */
    public Boolean getDataSchemaValidClass() {
        return dataSchemaValidClass;
    }

    /**
     * 设置有效区分
     *
     * @param dataSchemaValidClass 有效区分
     */
    public void setDataSchemaValidClass(Boolean dataSchemaValidClass) {
        this.dataSchemaValidClass = dataSchemaValidClass;
    }

    /**
     * 获取名称
     *
     * @return data_type_name - 名称
     */
    public String getDataTypeName() {
        return dataTypeName;
    }

    /**
     * 设置名称
     *
     * @param dataTypeName 名称
     */
    public void setDataTypeName(String dataTypeName) {
        this.dataTypeName = dataTypeName == null ? null : dataTypeName.trim();
    }

    /**
     * 获取编号
     *
     * @return data_type_num - 编号
     */
    public String getDataTypeNum() {
        return dataTypeNum;
    }

    /**
     * 设置编号
     *
     * @param dataTypeNum 编号
     */
    public void setDataTypeNum(String dataTypeNum) {
        this.dataTypeNum = dataTypeNum == null ? null : dataTypeNum.trim();
    }

    /**
     * 获取删除区分
     *
     * @return data_type_delete_class - 删除区分
     */
    public Boolean getDataTypeDeleteClass() {
        return dataTypeDeleteClass;
    }

    /**
     * 设置删除区分
     *
     * @param dataTypeDeleteClass 删除区分
     */
    public void setDataTypeDeleteClass(Boolean dataTypeDeleteClass) {
        this.dataTypeDeleteClass = dataTypeDeleteClass;
    }

    /**
     * 获取有效区分
     *
     * @return data_type_valid_class - 有效区分
     */
    public Boolean getDataTypeValidClass() {
        return dataTypeValidClass;
    }

    /**
     * 设置有效区分
     *
     * @param dataTypeValidClass 有效区分
     */
    public void setDataTypeValidClass(Boolean dataTypeValidClass) {
        this.dataTypeValidClass = dataTypeValidClass;
    }

    /**
     * 获取备注
     *
     * @return data_schema_remark - 备注
     */
    public String getDataSchemaRemark() {
        return dataSchemaRemark;
    }

    /**
     * 设置备注
     *
     * @param dataSchemaRemark 备注
     */
    public void setDataSchemaRemark(String dataSchemaRemark) {
        this.dataSchemaRemark = dataSchemaRemark == null ? null : dataSchemaRemark.trim();
    }

    /**
     * 获取备注
     *
     * @return data_type_remark - 备注
     */
    public String getDataTypeRemark() {
        return dataTypeRemark;
    }

    /**
     * 设置备注
     *
     * @param dataTypeRemark 备注
     */
    public void setDataTypeRemark(String dataTypeRemark) {
        this.dataTypeRemark = dataTypeRemark == null ? null : dataTypeRemark.trim();
    }

    /**
     * 获取字段信息
     *
     * @return field_info - 字段信息
     */
    public String getFieldInfo() {
        return fieldInfo;
    }

    /**
     * 设置字段信息
     *
     * @param fieldInfo 字段信息
     */
    public void setFieldInfo(String fieldInfo) {
        this.fieldInfo = fieldInfo == null ? null : fieldInfo.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DataTableInfoViewVo other = (DataTableInfoViewVo) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getOldName() == null ? other.getOldName() == null : this.getOldName().equals(other.getOldName()))
            && (this.getNum() == null ? other.getNum() == null : this.getNum().equals(other.getNum()))
            && (this.getModUser() == null ? other.getModUser() == null : this.getModUser().equals(other.getModUser()))
            && (this.getModUserId() == null ? other.getModUserId() == null : this.getModUserId().equals(other.getModUserId()))
            && (this.getModDt() == null ? other.getModDt() == null : this.getModDt().equals(other.getModDt()))
            && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
            && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()))
            && (this.getCreateDt() == null ? other.getCreateDt() == null : this.getCreateDt().equals(other.getCreateDt()))
            && (this.getDeleteClass() == null ? other.getDeleteClass() == null : this.getDeleteClass().equals(other.getDeleteClass()))
            && (this.getValidClass() == null ? other.getValidClass() == null : this.getValidClass().equals(other.getValidClass()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getUpdateTs() == null ? other.getUpdateTs() == null : this.getUpdateTs().equals(other.getUpdateTs()))
            && (this.getInsertTs() == null ? other.getInsertTs() == null : this.getInsertTs().equals(other.getInsertTs()))
            && (this.getNewFieldInfo() == null ? other.getNewFieldInfo() == null : this.getNewFieldInfo().equals(other.getNewFieldInfo()))
            && (this.getDataSchemaId() == null ? other.getDataSchemaId() == null : this.getDataSchemaId().equals(other.getDataSchemaId()))
            && (this.getDataSchemaName() == null ? other.getDataSchemaName() == null : this.getDataSchemaName().equals(other.getDataSchemaName()))
            && (this.getDataSchemaNum() == null ? other.getDataSchemaNum() == null : this.getDataSchemaNum().equals(other.getDataSchemaNum()))
            && (this.getDataSchemaDeleteClass() == null ? other.getDataSchemaDeleteClass() == null : this.getDataSchemaDeleteClass().equals(other.getDataSchemaDeleteClass()))
            && (this.getDataSchemaValidClass() == null ? other.getDataSchemaValidClass() == null : this.getDataSchemaValidClass().equals(other.getDataSchemaValidClass()))
            && (this.getDataTypeName() == null ? other.getDataTypeName() == null : this.getDataTypeName().equals(other.getDataTypeName()))
            && (this.getDataTypeNum() == null ? other.getDataTypeNum() == null : this.getDataTypeNum().equals(other.getDataTypeNum()))
            && (this.getDataTypeDeleteClass() == null ? other.getDataTypeDeleteClass() == null : this.getDataTypeDeleteClass().equals(other.getDataTypeDeleteClass()))
            && (this.getDataTypeValidClass() == null ? other.getDataTypeValidClass() == null : this.getDataTypeValidClass().equals(other.getDataTypeValidClass()))
            && (this.getDataSchemaRemark() == null ? other.getDataSchemaRemark() == null : this.getDataSchemaRemark().equals(other.getDataSchemaRemark()))
            && (this.getDataTypeRemark() == null ? other.getDataTypeRemark() == null : this.getDataTypeRemark().equals(other.getDataTypeRemark()))
            && (this.getFieldInfo() == null ? other.getFieldInfo() == null : this.getFieldInfo().equals(other.getFieldInfo()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getOldName() == null) ? 0 : getOldName().hashCode());
        result = prime * result + ((getNum() == null) ? 0 : getNum().hashCode());
        result = prime * result + ((getModUser() == null) ? 0 : getModUser().hashCode());
        result = prime * result + ((getModUserId() == null) ? 0 : getModUserId().hashCode());
        result = prime * result + ((getModDt() == null) ? 0 : getModDt().hashCode());
        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
        result = prime * result + ((getCreateDt() == null) ? 0 : getCreateDt().hashCode());
        result = prime * result + ((getDeleteClass() == null) ? 0 : getDeleteClass().hashCode());
        result = prime * result + ((getValidClass() == null) ? 0 : getValidClass().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getUpdateTs() == null) ? 0 : getUpdateTs().hashCode());
        result = prime * result + ((getInsertTs() == null) ? 0 : getInsertTs().hashCode());
        result = prime * result + ((getNewFieldInfo() == null) ? 0 : getNewFieldInfo().hashCode());
        result = prime * result + ((getDataSchemaId() == null) ? 0 : getDataSchemaId().hashCode());
        result = prime * result + ((getDataSchemaName() == null) ? 0 : getDataSchemaName().hashCode());
        result = prime * result + ((getDataSchemaNum() == null) ? 0 : getDataSchemaNum().hashCode());
        result = prime * result + ((getDataSchemaDeleteClass() == null) ? 0 : getDataSchemaDeleteClass().hashCode());
        result = prime * result + ((getDataSchemaValidClass() == null) ? 0 : getDataSchemaValidClass().hashCode());
        result = prime * result + ((getDataTypeName() == null) ? 0 : getDataTypeName().hashCode());
        result = prime * result + ((getDataTypeNum() == null) ? 0 : getDataTypeNum().hashCode());
        result = prime * result + ((getDataTypeDeleteClass() == null) ? 0 : getDataTypeDeleteClass().hashCode());
        result = prime * result + ((getDataTypeValidClass() == null) ? 0 : getDataTypeValidClass().hashCode());
        result = prime * result + ((getDataSchemaRemark() == null) ? 0 : getDataSchemaRemark().hashCode());
        result = prime * result + ((getDataTypeRemark() == null) ? 0 : getDataTypeRemark().hashCode());
        result = prime * result + ((getFieldInfo() == null) ? 0 : getFieldInfo().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(","+super.toString());
        sb.append(", id=").append(id);
        sb.append(", name=").append(name);
        sb.append(", oldName=").append(oldName);
        sb.append(", num=").append(num);
        sb.append(", modDtSt=").append(modDtSt);
        sb.append(", modDtEd=").append(modDtEd);
        sb.append(", createDtSt=").append(createDtSt);
        sb.append(", createDtEd=").append(createDtEd);
        sb.append(", updateTsSt=").append(updateTsSt);
        sb.append(", updateTsEd=").append(updateTsEd);
        sb.append(", insertTsSt=").append(insertTsSt);
        sb.append(", insertTsEd=").append(insertTsEd);
        sb.append(", newFieldInfo=").append(newFieldInfo);
        sb.append(", dataSchemaId=").append(dataSchemaId);
        sb.append(", dataSchemaName=").append(dataSchemaName);
        sb.append(", dataSchemaNum=").append(dataSchemaNum);
        sb.append(", dataSchemaDeleteClass=").append(dataSchemaDeleteClass);
        sb.append(", dataSchemaValidClass=").append(dataSchemaValidClass);
        sb.append(", dataTypeName=").append(dataTypeName);
        sb.append(", dataTypeNum=").append(dataTypeNum);
        sb.append(", dataTypeDeleteClass=").append(dataTypeDeleteClass);
        sb.append(", dataTypeValidClass=").append(dataTypeValidClass);
        sb.append(", dataSchemaRemark=").append(dataSchemaRemark);
        sb.append(", dataTypeRemark=").append(dataTypeRemark);
        sb.append(", fieldInfo=").append(fieldInfo);
        sb.append("]");
        return sb.toString();
    }
}